package cn.com.customer.manager.application;

import android.content.Context;

import androidx.multidex.MultiDex;


import com.xuexiang.xhttp2.XHttpSDK;
import com.xuexiang.xui.XUI;
import com.xuexiang.xupdate.XUpdate;
import com.xuexiang.xupdate.entity.UpdateError;
import com.xuexiang.xupdate.listener.OnUpdateFailureListener;
import com.xuexiang.xupdate.utils.UpdateUtils;
import com.xuexiang.xutil.XUtil;
import com.xuexiang.xutil.net.JsonUtil;
import com.xuexiang.xutil.tip.ToastUtils;

import java.util.HashMap;
import java.util.Map;

import cn.com.customer.manager.Constants;
import cn.com.customer.manager.base.BaseApplication;
import cn.com.customer.manager.http.interceptor.CustomDynamicInterceptor;
import cn.com.customer.manager.http.interceptor.CustomExpiredInterceptor;
import cn.com.customer.manager.http.update.XHttpUpdateHttpService;
import cn.com.customer.manager.manager.TokenManager;
import cn.com.customer.manager.utils.languagelib.MultiLanguageUtil;
import cn.com.customer.manager.manager.LoginManager;

import static com.xuexiang.xupdate.entity.UpdateError.ERROR.CHECK_NO_NEW_VERSION;

/**
 *
 * @ClassName: App
 * @Description: java类作用描述
 * @Author: W
 * @CreateDate: 2019/8/6 15:03
 * @UpdateUser: 更新者
 * @UpdateDate: 2019/8/6 15:03
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public class App extends BaseApplication {
    /**
     * 表示应用是被杀死后在启动的
     */
    public final static int APP_STATUS_KILLED = 0;
    /**
     * 表示应用时正常的启动流程
     */
    public final static int APP_STATUS_NORMAL = 1;
    /**
     * 记录App的启动状态
     */
    public static int APP_STATUS = APP_STATUS_KILLED;

    @Override
    public void onCreate() {
        super.onCreate();
        initX();

    }

    private void initX() {
        XUI.init(this); //初始化UI框架
        XUI.debug(true);  //开启UI框架调试日志
        XUtil.init(this);
        XUtil.debug(true);
        initHttp();
        MultiLanguageUtil.init(this);
    }
    private void initHttp() {
        XHttpSDK.init(this);   //初始化网络请求框架，必须首先执行
        XHttpSDK.debug("xHttp");  //需要调试的时候执行
        XHttpSDK.setBaseUrl(Constants.BASE_URL);  //设置网络请求的基础地址
        XHttpSDK.addInterceptor(new CustomDynamicInterceptor()); //设置动态参数添加拦截器
        XHttpSDK.addInterceptor(new CustomExpiredInterceptor()); //请求失效校验拦截器
    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }
}
